package com.wangcanxuan.www.util;

import java.math.BigInteger;
import java.security.MessageDigest;

/**
 * 安全工具类
 *
 * @author HHLJ
 * @date 2022/03/15
 */
public class SecurityUtil {
    /**
     * 工具类不对外暴露构造器
     */
    private SecurityUtil(){

    }

    /**
     * 方法名：getSha1Encrypt
     * 作用：为传进的数据进行SHA1算法加密
     * 测试：经测试无bug
     * 想法：规定密码必须为8-16位且只能有A-Za-z0-9_，
     *
     *
     * @param data 数据
     * @return {@link String}
     */
    public static String getSha1Encrypt(String data){
        //定义一个encryptedString存储加密后的字符串
        String encryptedString = null;
        try {
            MessageDigest sha1 = MessageDigest.getInstance("SHA1");
            sha1.update(data.getBytes());
            //使用16进制
            encryptedString = new BigInteger(1, sha1.digest()).toString(16);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("SHA1算法加密失败!");
        }
        return encryptedString;
    }
}
